﻿using System;

class Program
{
    static void Main()
    {
        // 输出标题
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "Type", "Memory Size (Bytes)", "Min Value", "Max Value");
        Console.WriteLine(new string('-', 70)); 

        // sbyte
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "sbyte", sizeof(sbyte), sbyte.MinValue, sbyte.MaxValue);

        // byte
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "byte", sizeof(byte), byte.MinValue, byte.MaxValue);

        // short
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "short", sizeof(short), short.MinValue, short.MaxValue);

        // ushort
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "ushort", sizeof(ushort), ushort.MinValue, ushort.MaxValue);

        // int
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "int", sizeof(int), int.MinValue, int.MaxValue);

        // uint
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "uint", sizeof(uint), uint.MinValue, uint.MaxValue);

        // long
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "long", sizeof(long), long.MinValue, long.MaxValue);

        // ulong
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "ulong", sizeof(ulong), ulong.MinValue, ulong.MaxValue);

        // float
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "float", sizeof(float), float.MinValue, float.MaxValue);

        // double
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "double", sizeof(double), double.MinValue, double.MaxValue);

        // decimal
        Console.WriteLine("{0,-10} {1,-20} {2,-20} {3,-20}", "decimal", sizeof(decimal), decimal.MinValue, decimal.MaxValue);
    }
}